package com.easylinkin.linkappapi.grid.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 网格日报填写详情
 *
 * @author kuyujie
 * @since 2024-05-21
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("grid_report_day_detail")
public class GridReportDayDetail implements Serializable{
    private static final long serialVersionUID=1L;


    @TableId(type = IdType.AUTO)
    @TableField(value = "id")
    private Integer id;

    /**
     * 日报id
     */
    @TableField(value = "report_id")
    private Long reportId;

    /**
     * 日报人员指定表id
     */
    @TableField(value = "report_user_id")
    private Long reportUserId;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private String userId;

    /**
     * 网格层级
     */
    @TableField(value = "grid_hierarchy")
    private String gridHierarchy;

    /**
     * 网格数量（个）
     */
    @TableField(value = "grid_num")
    private Integer gridNum;

    /**
     * 当日施工网格数（个）
     */
    @TableField(value = "build_grid_num")
    private Integer buildGridNum;

    /**
     * 当日作业人数（个）
     */
    @TableField(value = "worker_num")
    private Integer workerNum;

    /**
     * 安全员应到数（人）
     */
    @TableField(value = "due_safety_officer_num")
    private Integer dueSafetyOfficerNum;

    /**
     * 安全员实到数（人）
     */
    @TableField(value = "act_safety_officer_num")
    private Integer actSafetyOfficerNum;

    /**
     * 当日共有作业班组（个）
     */
    @TableField(value = "operation_team_num")
    private Integer operationTeamNum;

    /**
     * 开展班前喊话（人）
     */
    @TableField(value = "operation_caller_num")
    private Integer operationCallerNum;

    /**
     * 班前喊话涉及人数（人）
     */
    @TableField(value = "operation_call_refer_num")
    private Integer operationCallReferNum;

    /**
     * 当日排查一般隐患（起）
     */
    @TableField(value = "check_general_hazard")
    private Integer checkGeneralHazard;

    /**
     * 一般隐患整改（起）
     */
    @TableField(value = "change_general_hazard")
    private Integer changeGeneralHazard;

    /**
     * 当日排查重大隐患（起）
     */
    @TableField(value = "check_great_hazard")
    private Integer checkGreatHazard;

    /**
     * 重大隐患整改（起）
     */
    @TableField(value = "change_great_hazard")
    private Integer changeGreatHazard;

    /**
     * 个人举报隐患（项）
     */
    @TableField(value = "personage_report_hazard")
    private Integer personageReportHazard;

    /**
     * 违规问题罚款（元）
     */
    @TableField(value = "penalty_amount")
    private BigDecimal penaltyAmount;

    /**
     * 当日整改投入（万元）
     */
    @TableField(value = "change_investment_amount")
    private BigDecimal changeInvestmentAmount;

    /**
     * 当日奖励个人（元）
     */
    @TableField(value = "reward_individuals_amount")
    private BigDecimal rewardIndividualsAmount;

    /**
     * 当日突发事件情况
     */
    @TableField(value = "emergency_situation")
    private String emergencySituation;

    /**
     * 租户id、项目id
     */
    @TableField(value = "tenant_id")
    private String tenantId;

    /**
     * 创建人id
     */
    @TableField(value = "creator_id")
    private String creatorId;

    /**
     * 创建人
     */
    @TableField(value = "creator")
    private String creator;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 修改人id
     */
    @TableField(value = "modify_id")
    private String modifyId;

    /**
     * 修改人
     */
    @TableField(value = "modifier")
    private String modifier;

    /**
     * 修改时间
     */
    @TableField(value = "modify_time")
    private LocalDateTime modifyTime;

    /**
     * 删除标记 1未删除 0已删除
     */
    @TableField(value = "delete_state")
    @TableLogic
    private Integer deleteState;

}
